﻿namespace System
{
	internal class Tuple<T1, T2, T3>
	{
		#region Public Properties
		public T1 Item1
		{
			get
			{
				return item1;
			}
		}

		public T2 Item2
		{
			get
			{
				return item2;
			}
		}

		public T3 Item3
		{
			get
			{
				return item3;
			}
		}
		#endregion

		#region Private / Protected
		private readonly T1 item1;
		private readonly T2 item2;
		private readonly T3 item3;
		#endregion

		#region Constructors
		public Tuple(T1 item1, T2 item2, T3 item3)
		{
			this.item1 = item1;
			this.item2 = item2;
			this.item3 = item3;
		}
		#endregion

		#region Methods
		public override string ToString()
		{
			return string.Concat('(', item1, ", ", item2, ", ", item3, ')');
		}
		#endregion
	}
}